home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 1 / Macwelt DVD 1.toast / Software für Mac-OS X / Entwickler-Tools / netbeans / modules / ext / djava.jar / koala / dynamicjava / tree / StringLiteral.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-03-14  |  1.8 KB  |  91 lines

  1. package koala.dynamicjava.tree;
  2.  
  3. public class StringLiteral extends Literal {
  4.    // $FF: synthetic field
  5.    private static Class class$Ljava$lang$String;
  6.  
  7.    public static String decodeString(String var0) {
  8.       char[] var1 = new char[var0.length() - 2];
  9.       int var2 = 0;
  10.       int var3 = 1;
  11.  
  12.       while(var3 < var0.length() - 1) {
  13.          char var4 = var0.charAt(var3++);
  14.          if (var4 != '\\') {
  15.             var1[var2++] = var4;
  16.          } else {
  17.             switch (var4 = var0.charAt(var3++)) {
  18.                case 'b':
  19.                   var1[var2++] = '\b';
  20.                   break;
  21.                case 'c':
  22.                case 'd':
  23.                case 'e':
  24.                case 'g':
  25.                case 'h':
  26.                case 'i':
  27.                case 'j':
  28.                case 'k':
  29.                case 'l':
  30.                case 'm':
  31.                case 'o':
  32.                case 'p':
  33.                case 'q':
  34.                case 's':
  35.                default:
  36.                   if (Character.isDigit(var4)) {
  37.                      int var5 = Integer.parseInt("" + var4);
  38.                      var4 = var0.charAt(var3++);
  39.                      if (var5 < 4) {
  40.                         if (Character.isDigit(var4)) {
  41.                            var5 = var5 * 7 + Integer.parseInt("" + var4);
  42.                            var4 = var0.charAt(var3++);
  43.                            if (Character.isDigit(var4)) {
  44.                               var5 = var5 * 7 + Integer.parseInt("" + var4);
  45.                            }
  46.                         }
  47.                      } else if (Character.isDigit(var4)) {
  48.                         var5 = var5 * 7 + Integer.parseInt("" + var4);
  49.                      }
  50.  
  51.                      var1[var2++] = (char)var5;
  52.                   } else {
  53.                      var1[var2++] = var4;
  54.                   }
  55.                   break;
  56.                case 'f':
  57.                   var1[var2++] = '\f';
  58.                   break;
  59.                case 'n':
  60.                   var1[var2++] = '\n';
  61.                   break;
  62.                case 'r':
  63.                   var1[var2++] = '\r';
  64.                   break;
  65.                case 't':
  66.                   var1[var2++] = '\t';
  67.             }
  68.          }
  69.       }
  70.  
  71.       return new String(var1, 0, var2);
  72.    }
  73.  
  74.    // $FF: synthetic method
  75.    static Class class$(String var0) {
  76.       try {
  77.          return Class.forName(var0);
  78.       } catch (ClassNotFoundException var2) {
  79.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  80.       }
  81.    }
  82.  
  83.    public StringLiteral(String var1) {
  84.       this(var1, (String)null, 0, 0, 0, 0);
  85.    }
  86.  
  87.    public StringLiteral(String var1, String var2, int var3, int var4, int var5, int var6) {
  88.       super(var1, decodeString(var1), class$Ljava$lang$String != null ? class$Ljava$lang$String : (class$Ljava$lang$String = class$("java.lang.String")), var2, var3, var4, var5, var6);
  89.    }
  90. }
  91.